<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 给你一个升序排列数组nums,
        // 请你原地删除重复出现的元素，
        // 使每个元素 只出现一次 ，
        // 返回删除后数组的新长度。
        // 元素的 相对顺序 应该保持 一致 。
        // var removeDuplicates = function (nums) {
        //     let repeat = [];
        //     for (let i = 0; i < nums.length; i++) {
        //         if (nums[i] != nums[i + 1]) {
        //             repeat.push(nums[i]);
        //         }
        //     }

        //     for (let i = 0; i < repeat.length; i++) {
        //         nums[i] = repeat[i];
        //     }

        //     return repeat.length;
        // };

        // 双指针
        var removeDuplicates = function (nums) {
            let n = nums.length;
            let fast = 1,
                slow = 1;

            while (fast < n) {
                if (nums[fast] !== nums[fast - 1]) {
                    nums[slow] = nums[fast];
                    slow++;
                }
                fast++;
            }
        }

        console.log(removeDuplicates([0, 0, 1, 1, 1, 2, 2, 3, 3, 4]));
        console.log(removeDuplicates([1, 1, 2]));
    </script>
</body>

</html>